<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
	<head>
		<title>test.html</title>

		<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
		<meta http-equiv="description" content="this is my page">
		<meta http-equiv="content-type" content="text/html; charset=UTF-8">

		<!--<link rel="stylesheet" type="text/css" href="./styles.css">-->

		<script type="text/javascript" src="js/jquery-1.8.0.js">
</script>
	</head>


	<script type="text/javascript">
function ss() {
	window.location = "jspmsg";
}
</script>
	<body>
		<input type="text" id="txt" name="text2">
		<input type="button" onclick="ss()" value="点击"><!--
		Java面向对象 1. super()与this()的区别？ This（）：当前类的对象,super父类对象。

		Super（）：在子类访问父类的成员和行为,必须受类继承规则的约束 而this他代表当前对象,当然所有的资源都可以访问.

		在构造函数中,如果第一行没有写super(),编译器会自动插入.但是如果父类没有不带参数的构造函数,或这个函数被私有化了(用private修饰).此时你必须加入对父类的实例化构造.而this就没有这个要求,因为它本身就进行实例化的构造.
		而在方法中super和this使用的方法就差不多了.只不过super 要考虑是否能访问其父类的资源. 2.
		作用域public,protected,private,以及不写时的区别？ Ø Public:不同包、同一包、类内都可用 Ø
		Private：类内 Ø Protected: 不同包的子类、同一包、类内都可用 Ø 不写时:同一包内、类内 3. 编程输出如下图形。 *
		* * * * * * * * * * * * * * 代码如下： public class Print { public static
		void main(String[] args) { for (int i = 0; i < 5; i++) { for (int j =
		5; j > i; j--) { System.out.print("*"); } System.out.println(); } } }

		4. JAVA的事件委托机制和垃圾回收机制 java
		事件委托机制的概念,一个源产生一个事件并将它送到一个或多个监听器那里。在这种方案中，监听器简单的等待，直到它收到一个事件。一旦事件被接受，监听器将处理这个事件，然后返回。

		垃圾回收机制
		垃圾收集是将分配给对象但不再使用的内存回收或释放的过程。如果一个对象没有指向它的引用或者其赋值为null,则次对象适合进行垃圾回收 5.
		在JAVA中，如何跳出当前的多重嵌套循环？ 用break; return 方法。 6.
		什么是java序列化，如何实现java序列化？(写一个实例) 序列化:

		可以将一个对象保存到一个文件，所以可以通过流的方式在网络上传输，可以将文件的内容读取，转化为一个对象。





		处理对象流的机制，所谓对象流也就是将对象的内容进行流化。可以对流化后的对象进行读写操作，也可将流化后的对象传输于网络之间。序列化是为了解决在对对象流进行读写操作时所引发的问题。

		序列化的实现： 将需要被序列化的类实现Serializable接口，该接口没有需要实现的方法，implements
		Serializable只是为了标注该对象是可被序列化的，然后使用一个输出流(如：FileOutputStream)来构造一个ObjectOutputStream(对象流)对象，接着，使用ObjectOutputStream对象的writeObject(Object
		obj)方法就可以将参数为obj的对象写出(即保存其状态)，要恢复的话则用输入流。 7.
		一个".java"源文件中是否可以包括多个类（不是内部类）？有什么限制？ 可以。如果这个类的修饰符是public，其类名与文件名必须相同。

		8. 排序都有哪几种方法？请列举。用JAVA实现一个快速排序？
		排序的方法有：插入排序（直接插入排序、希尔排序），交换排序（冒泡排序、快速排序），选择排序（直接选择排序、堆排序），归并排序，分配排序（箱排序、基数排序）

		快速排序的伪代码。 9. Overload和Override的区别。Overloaded的方法是否可以改变返回值的类型? 方法的

		重写Override，子类覆盖父类的方法，将子类传与父类的引用调用的还是子类的方法。 重载Overloading
		一个类多个方法，名称相同，参数个数类型不同。 两者都是Java多态性的不同表现。 Overloaded的方法是可以改变返回值的类型。 1，
		public class Ctest() { Public static void main() {

		System.out.prinln(8+8+”88”+8+8); } } 168888 10. Final类有什么特点？ 属性常量

		方法不可以overridding 类不可以继承 11. 继承时候类的执行顺序问题,一般都是选择题,问你将会打印出什么? 答:父类：

		package test; public class FatherClass { public FatherClass() {

		System.out.println("FatherClass Create"); } } 子类: package test; import
		test.FatherClass; public class ChildClass extends FatherClass { public
		ChildClass() { System.out.println("ChildClass Create"); } public
		static void main(String[] args) { FatherClass fc = new FatherClass();

		ChildClass cc = new ChildClass(); } } 输出结果： C:>java test.ChildClass

		FatherClass Create FatherClass Create ChildClass Create 12. 内部类的实现方式?
		答：示例代码如下： package test; public class OuterClass { private class
		InterClass { Public Interlass() { System.out.println("InterClass
		Create"); } } public OuterClass() { InterClass ic = new InterClass();

		System.out.println("OuterClass Create"); } public static void
		main(String[] args) { OuterClass oc = new OuterClass(); } } 输出结果:

		C:>java test/OuterClass InterClass Create OuterClass Create 13.
		用JAVA实现一种排序，JAVA类实现序列化的方法(二种)？ 14. 如在COLLECTION框架中，实现比较要实现什么样的接口？ 15.
		用插入法进行排序代码如下 package test; import java.util.*; class InsertSort {

		ArrayList al; public InsertSort(int num,int mod) { al = new
		ArrayList(num); Random rand = new Random(); System.out.println("The
		ArrayList Sort Before:"); for (int i=0;i
		<num ;i++ ) 

{ 

al.add(new
			Integer(Math.abs(rand.nextInt()) % mod + 1)); 

System.out.println("al["+i+"]="+al.get(i));
			} 

} 

public void SortIt() 

{ 

Integer tempInt; 

int
			MaxSize=1; for(int i=1;i
		<al.size
			();i++) 

{ 

tempInt=(Integer)al.remove(i);if(tempInt.intValue()>
		=((Integer)al.get(MaxSize-1)).intValue()) { al.add(MaxSize,tempInt);

		MaxSize++; System.out.println(al.toString()); } else { for (int j=0;j
		<MaxSize;j++ ) 

{ 

if 

 

(((Integer)al.get(j)).intValue()>
		=tempInt.intValue()) { al.add(j,tempInt); MaxSize++;

		System.out.println(al.toString()); break; } } } }

		System.out.println("The ArrayList Sort After:"); for(int i=0;i
		<al.size
			();i++) 

{ 

System.out.println("al["+i+"]="+al.get(i)); 

} 

} 

public static void main(String[] args) 

{ 

InsertSort is = new InsertSort(10,100); 

is.SortIt(); 

} 

} 

 

 

JAVA类实现序例化的方法是实现java.io.Serializable接口 

Collection框架中实现比较要实现Comparable 接口和 Comparator 接口

 

16.    编程：编写一个截取字符串的函数，输入为一个字符串和字节数，输出为按字节截取的字符串。 但是要保证汉字不被截半个，如"
			我ABC"4，应该截为"我AB"，输入"我ABC汉DEF"，6，应该输出为"我ABC"而不是"我ABC+汉的半个"。 
答：代码如下： 

public
			static void split(String source,int num) throws
			Exception

    {

        int k=0; String temp=""
			;

        for (int i=0; i
		<source.length
			(); i++)

        {   

            byte[] b=(source.charAt(i)+
			"").getBytes();

            k=k+b.length; if(k>
		num) { break; } temp=temp+source.charAt(i); }

		System.out.println(temp); } 15、Java编程,打印昨天的当前时刻 public class
		YesterdayCurrent{ public void main(String[] args){ Calendar cal =
		Calendar.getInstance(); cal.add(Calendar.DATE, -1);

		System.out.println(cal.getTime()); } } 16、文件读写,实现一个计数器 public int
		getNum(){ int i = -1; try{ String stri=""; BufferedReader in = new
		BufferedReader(new FileReader(f)); while((stri=in.readLine())!=null){

		i = Integer.parseInt(stri.trim()); } in.close(); }catch(Exception e){

		e.printStackTrace(); } return i; } public void setNum(){ int i =
		getNum(); i++; try{ PrintWriter out=new PrintWriter(new
		BufferedWriter(new FileWriter(f,false)));

		out.write(String.valueOf(i));
		//可能是编码的原因，如果直接写入int的话，将出现java编码和windows编码的混乱，因此此处写入的是String

		out.close() ; }catch(Exception e){ e.printStackTrace(); } }



		17、指出下面程序的运行结果。 class A{ static{ System.out.print("1"); } public A(){

		System.out.print("2"); } } class B extends A{ static{

		System.out.print("a"); } public B(){ System.out.print("b"); } } public
		class Hello{ public static void main(String[] ars){ A ab = new B();
		//执行到此处,结果: 1a2b ab = new B(); //执行到此处,结果: 1a2b2b } } 注:类的static
		代码段,可以看作是类首次加载(被虚拟机加载)执行的代码,而对于类的加载,首先要执行其基类的构造,再执行其本身的构造

		18、抽象类和接口的区别？ (1)接口可以被多重implements,抽象类只能被单一extends

		(2)接口只有定义,抽象类可以有定义和实现 (3)接口的字段定义默认为:public static final,
		抽象类字段默认是"friendly"(本包可见) 当功能需要累积时用抽象类，不需要累积时用接口。 19、什么是类的返射机制?
		通过类(Class对象)，可以得出当前类的fields、method、construtor、interface、superClass、modified等，同是可以通过类实例化一个实例、设置属性、唤醒方法。Spring中一切都是返射、struts、hibernate都是通过类的返射进行开发的。


	--></body>
</html>
